﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Romeo.Data
{
    public abstract class DynamicEvaluator : StaticScoreEvaluator
    {
        public DynamicEvaluator ()
            : base (0)
        {
        }

        protected abstract void BuildScores (Board aBoard);

        public override int Evaluate (Board aBoard, int aMinScore)
        {
            for (int i = Board.StartCell; i < Board.EndCell; i++)
            {
                _Scores[i] = 0;
            }
            BuildScores (aBoard);
            return base.Evaluate (aBoard, aMinScore);
        }
    }
}
